package com.nageoffer.shortlink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nageoffer.shortlink.admin.dao.entity.GroupDO;
import com.nageoffer.shortlink.admin.dto.req.ShortLinkGroupSortReqDTO;
import com.nageoffer.shortlink.admin.dto.req.ShortLinkGroupUpdateReqDTO;
import com.nageoffer.shortlink.admin.dto.resp.ShortLinkGroupRespDTO;

import java.util.List;

/**
 * ClassName: GroupServiceImpl
 * Package:
 * Description:  短链接分组接口层
 *
 * @Author:xiaohei
 * @Create 2024/6/5 8:52
 * Version 1.0
 */
public interface GroupService extends IService<GroupDO> {

    /**
     * 新增短链接分组
     * @param groupName   分组名称
     */
    void saveGroup(String groupName);

    /**
     * 新增短链接分组
     * @param username   用户名
     * @param groupName   分组名称
     */
    void saveGroup(String username,String groupName);

    /**
     * 查询用户短链接分组集合
     * @return
     */
    List<ShortLinkGroupRespDTO> listGroup();


    /**
     * 修改短链接分组名称
     * @param requestParam  修改短链接分组参数
     */
    void updateGroup(ShortLinkGroupUpdateReqDTO requestParam);

    /**
     * 删除分组
     * @param gid  分组id
     */
    void deleteGroup(String gid);

    /**
     * 短链接分组排序功能
     * @param requestParam
     */
    void sortGroup(List<ShortLinkGroupSortReqDTO> requestParam);

}
